#pragma once

#include "IMainFrame.h"

class QWidget;
class S_GUIFRAME_EXPORT IApplication
{
public:
	virtual int run() = 0;
	virtual IMainFrame* mainFrame() const = 0;
	virtual void execCommand(int cmd, const char* parameters) = 0;
	virtual float uiScale() = 0;
};


extern "C" S_GUIFRAME_EXPORT IApplication* getAppInstance(int argc = 0, char* argv[] = nullptr);
extern "C" S_GUIFRAME_EXPORT void releaseApp();
#define sApp getAppInstance()
